William Jon McCann [Sun, 8 Dec 2013 14:09:46 +0000 (15:09 +0100)]
font dialog: Use headerbar
Make the font chooser dialog use a headerbar
when desired.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
William Jon McCann [Sun, 8 Dec 2013 12:40:50 +0000 (13:40 +0100)]
about dialog: Use headerbar
Use a GtkHeaderBar for the credits and about buttons.
It makes less sense here than in other places to go back to
the buttons on the bottom, considering we only have a close
button, so we always use a header bar.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 04:58:49 +0000 (23:58 -0500)]
dialog: Show the action area when needed
If we find that widgets are being added to the action area,
we should show it. Also warn in this situation.
Matthias Clasen [Fri, 17 Jan 2014 22:03:00 +0000 (17:03 -0500)]
Exclude use-header-bar from the defaultvalue test
Matthias Clasen [Fri, 17 Jan 2014 22:17:23 +0000 (17:17 -0500)]
Make it possible to set use-header-bar from a setting
This commit introduces a private convenience API that derived
dialogs can call in their instance init. This is necessary to
make the setting work as intended in the face of 3rd party
dialogs derived e.g. from GtkFileChooserDialog, which are
created with g_object_new.
Matthias Clasen [Wed, 15 Jan 2014 05:33:30 +0000 (00:33 -0500)]
Add a setting for dialog headers
This setting will let us keep traditional appearance
of dialogs on platforms where this is expected.
The new setting is called gtk-dialogs-use-header, backed
by the Gtk/DialogsUseHeader xsetting.
William Jon McCann [Sun, 12 Jan 2014 02:59:45 +0000 (21:59 -0500)]
demo: Add two buttons to the message dialog
This tests the new. prompt-like layout of message dialogs
better.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
William Jon McCann [Mon, 13 Jan 2014 19:30:31 +0000 (14:30 -0500)]
message dialog: Center text
https://bugzilla.gnome.org/show_bug.cgi?id=720059
William Jon McCann [Sun, 12 Jan 2014 14:32:29 +0000 (09:32 -0500)]
message dialog: Don't show images
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 17:36:53 +0000 (12:36 -0500)]
message dialog: Allow action area to extend to the edge
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 17:36:12 +0000 (12:36 -0500)]
message dialog: Don't use headerbar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 17:39:05 +0000 (12:39 -0500)]
dialog: Add style classes
These will be used in subsequent commits to better style
message dialogs.
William Jon McCann [Sun, 8 Dec 2013 18:15:40 +0000 (19:15 +0100)]
dialog: Add a headerbar
This change makes it possible for GtkDialog to pack
its action widgets into a header bar, instead of the
traditional action area. This change is controlled
by the use-header-bar construct-only property.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 16:41:03 +0000 (11:41 -0500)]
Update all internal users of alternative button order
We'll keep this code around for now to not regress
on Windows, but avoid deprecation warnings.
William Jon McCann [Sun, 8 Dec 2013 16:38:34 +0000 (17:38 +0100)]
dialog: Mark alternate button order as deprecated
This feature was never implemented 100% correct, and
does not apply to action buttons in header bars.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Wed, 15 Jan 2014 11:44:48 +0000 (06:44 -0500)]
file chooser: Clean up direct action area interaction
Matthias Clasen [Fri, 17 Jan 2014 16:26:11 +0000 (11:26 -0500)]
Update all internal users of gtk_dialog_get_action_area
Some of these should be revisited and fixed. For now,
just avoid the deprecation warnings.
Matthias Clasen [Fri, 17 Jan 2014 17:01:47 +0000 (12:01 -0500)]
dialog: Mark gtk_dialog_get_action_area as deprecated
Direct access to the action area by applications makes it much more
difficult to make changes to GtkDialog. Therefore, deprecate this
function.
William Jon McCann [Sun, 12 Jan 2014 03:46:19 +0000 (22:46 -0500)]
demo: Add new button box layouts
This adds a test case for the new expand layout.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Matthias Clasen [Fri, 17 Jan 2014 17:39:30 +0000 (12:39 -0500)]
button box: Set linked style for extend
This is needed for proper styling of the new extend-placement
in button boxes.
William Jon McCann [Sun, 12 Jan 2014 01:27:42 +0000 (20:27 -0500)]
Add an expand button box type
https://bugzilla.gnome.org/show_bug.cgi?id=720059
William Jon McCann [Fri, 10 Jan 2014 20:25:27 +0000 (15:25 -0500)]
window: Allow unsetting custom titlebar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
William Jon McCann [Fri, 10 Jan 2014 21:15:17 +0000 (16:15 -0500)]
headerbar: Set a minimum size for the title
https://bugzilla.gnome.org/show_bug.cgi?id=720059
Paolo Borelli [Fri, 17 Jan 2014 18:24:27 +0000 (19:24 +0100)]
Use gtk_window_close for gtk_dialog_close
We manually synthethized the delete event, but now we have the
corresponding method in GtkWindow
Debarshi Ray [Fri, 17 Jan 2014 13:15:34 +0000 (14:15 +0100)]
widget: Add deprecation annotations for {get,set}_margin_{left,right}
Fallout from
9921bec63a3e67e2c2e38ca734590909a9f734b5
Mattias Põldaru [Fri, 17 Jan 2014 15:47:55 +0000 (17:47 +0200)]
[l10n] Updated Estonian translation
Daniel Mustieles [Wed, 15 Jan 2014 09:20:21 +0000 (10:20 +0100)]
Updated Spanish translation
Piotr Drąg [Tue, 14 Jan 2014 23:53:10 +0000 (00:53 +0100)]
Updated POTFILES.skip
Matthias Clasen [Tue, 14 Jan 2014 20:20:59 +0000 (15:20 -0500)]
Bump version
Paolo Borelli [Tue, 14 Jan 2014 19:29:46 +0000 (20:29 +0100)]
Always return FALSE from the notebook leave_notify handler
As discussed on IRC with Benjamin, this should not make much
difference in practice, but it is more correct
Paolo Borelli [Tue, 14 Jan 2014 19:23:52 +0000 (20:23 +0100)]
Readd line removed by mistake in the previous commit
Paolo Borelli [Sat, 11 Jan 2014 18:15:18 +0000 (19:15 +0100)]
Prelight notebook tab
Set the prelight state when hovering a notebook tab with the mouse.
https://bugzilla.gnome.org/show_bug.cgi?id=711233
Matthias Clasen [Tue, 14 Jan 2014 19:05:37 +0000 (14:05 -0500)]
Make the action bar reftest reliable
Matthias Clasen [Tue, 14 Jan 2014 11:21:21 +0000 (06:21 -0500)]
Updates
Matthias Clasen [Tue, 14 Jan 2014 18:14:51 +0000 (13:14 -0500)]
Update expected output for tree.ui
Now that the utf8 actually appears...
Matthias Clasen [Tue, 14 Jan 2014 18:11:42 +0000 (13:11 -0500)]
Run accessibility tests in en_US.utf8
Previously, we were just using the C locale, which breaks
some of our fancy utf8 output for checkmarks and so on.
Ryan Lortie [Tue, 14 Jan 2014 15:33:13 +0000 (10:33 -0500)]
GtkApplicationWindow: give up on handling dispose
Stop trying to deal with "theoretical possibilities".
We can't possibly continue to be a faithful GActionGroup implementation
across dispose because dispose has a side effect of removing everyone's
signal handlers.
The code that we ran after the dispose chainup to do all of the fancy
signal emulation was therefore dead. The test that aimed to verify this
was buggy itself due to an uninitialised variable, so really, it never
worked at all.
We keep the re-ordering of the chainup from the original commit to avoid having
trouble with GtkActionMuxer and keep the checks in place that will prevent an
outright segfault in the case that someone else tries to use the interface
post-dispose.
https://bugzilla.gnome.org/show_bug.cgi?id=722189
Bastien Nocera [Tue, 14 Jan 2014 14:02:26 +0000 (15:02 +0100)]
treemodelfilter: Fix typo in API docs
Matthias Clasen [Tue, 14 Jan 2014 04:31:05 +0000 (23:31 -0500)]
Add some treeview a11y tests
Mike Gorse [Tue, 7 Jan 2014 21:06:13 +0000 (15:06 -0600)]
A11y: Fix text functions for table cells
Keep the PangoLayout around, and refresh in update_cache.
https://bugzilla.gnome.org/show_bug.cgi?id=707729
Cosimo Cecchi [Wed, 24 Apr 2013 19:45:49 +0000 (15:45 -0400)]
window: add an is-maximized property to GtkWindow
With proper notifications, plus an accessor method for that state. This
allows client to just listen to notify::is-maximized instead of tracking
window-state-event.
https://bugzilla.gnome.org/show_bug.cgi?id=698786
Matthias Clasen [Tue, 14 Jan 2014 03:59:59 +0000 (22:59 -0500)]
Don't implement popup_menu in GtkWindow
This leads to disastruous results, since each menu is itself
in a GtkWindow, so holding down the menu key leads to a neverending
cascade of menus on top of menus.
https://bugzilla.gnome.org/show_bug.cgi?id=722106
John Lindgren [Sun, 12 Jan 2014 07:07:00 +0000 (07:07 +0000)]
Fix memory leak in GtkTreeViewAccessible
https://bugzilla.gnome.org/show_bug.cgi?id=722030
Yosef Or Boczko [Mon, 13 Jan 2014 05:49:41 +0000 (07:49 +0200)]
Add separator before "Always on Top" to the CSD window
https://bugzilla.gnome.org/show_bug.cgi?id=722076
Matthias Clasen [Tue, 14 Jan 2014 03:22:29 +0000 (22:22 -0500)]
Fix a memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=722029
Tim Lunn [Mon, 13 Jan 2014 01:12:39 +0000 (12:12 +1100)]
gdk: Don't leak GValue when xsetting is unknown
https://bugzilla.gnome.org/show_bug.cgi?id=722070
Benjamin Otte [Tue, 14 Jan 2014 02:33:24 +0000 (03:33 +0100)]
reftests: Add reftest for 0px border fix
https://bugzilla.gnome.org/show_bug.cgi?id=721800
Benjamin Otte [Tue, 14 Jan 2014 02:22:15 +0000 (03:22 +0100)]
themingengine: Don't draw 0px borders
Theming code gets confused when computing the spacing for 0px wide dots
and then divides by 0. And then cairo complains and stops drawing
anything forever out of spite and then we end up with a single color
screen.
https://bugzilla.gnome.org/show_bug.cgi?id=721800
Daniel Mustieles [Mon, 13 Jan 2014 13:15:34 +0000 (14:15 +0100)]
Updated Spanish translation
Chun-wei Fan [Mon, 13 Jan 2014 09:19:07 +0000 (17:19 +0800)]
build/: Rename a Shared MSVC NMake Makefile
Rename testsrules_msvc.mak to detectenv_msvc.mak and remove some package-
specific stuff from it, to reflect on the nature that this NMake Makefile
is shared.
Chun-wei Fan [Mon, 13 Jan 2014 08:05:00 +0000 (16:05 +0800)]
MSVC Builds: Rework Introspection Build
The current approach of building the introspection files for GTK works, but
is often cumbersome as one needs to set many environmental variables before
launching a solution file, which runs a Windows batch script to generate
the .gir/.typelib files. It was also possible to hand-run the batch script
from the Visual Studio command prompt, but even more environmental
variables need to be set.
This changes the approach to build the introspection files using an NMake
Makefile (but elimating from the Visual Studio Project Files the part to
build the introspection files) to:
-Make it clearer to the person building the introspection files what
environmental variables are needed, specifically for PKG_CONFIG_PATH and
MINGWDIR and CFG (formerly CONF). Setting stuff like VSVER, PLAT and BASEDIR
is no longer required, which was a bit clunky.
-Allows some more easier flexibility on the build of the intropsection files.
Dimitris Spingos [Mon, 13 Jan 2014 07:51:46 +0000 (09:51 +0200)]
Updated Greek translation
Yosef Or Boczko [Mon, 13 Jan 2014 05:44:27 +0000 (07:44 +0200)]
Updated Hebrew translation
Chun-wei Fan [Mon, 13 Jan 2014 04:39:04 +0000 (12:39 +0800)]
Update gtk-install.*props
Make sure the needed public headers for GTK master is "installed", and re-
order some items so that it is easier when the headers lists are
automatically acquired from the various Makefile.am's.
Chun-wei Fan [Mon, 13 Jan 2014 04:02:12 +0000 (12:02 +0800)]
build/win32/vs9/Makefile: Fix typo
Matthias Clasen [Mon, 13 Jan 2014 03:09:52 +0000 (22:09 -0500)]
Add move and resize to the csd window menu
With the previous commit, these operations can be implemented
now.
Matthias Clasen [Mon, 13 Jan 2014 03:06:59 +0000 (22:06 -0500)]
X11: Support keyboard-initiated move and resize operations
The EWMH defines _NET_WM_MOVERESIZE_SIZE_KEYBOARD and
_NET_WM_MOVERESIZE_MOVE_KEYBOARD for operations that are not
initiated by a button-press event. Allow using these by passing
a button of 0 to gdk_window_begin_move/resize_drag.
Matthias Clasen [Mon, 13 Jan 2014 02:01:43 +0000 (21:01 -0500)]
Redo csd window-dragging
The window-dragging code had a number of issues: The code was
starting a drag on every button press, never bothering to cancel
them. This leads to the odd hand cursor occurring between the two
clicks to maximize. We relied on GDK's multi-click detection, which
gives us triple-clicks when we really want sequences of double-clicks.
Lastly, we didn't propery restrict double-click handling to the primary
button, so e.g. if you had a window on an empty workspace, double-right
click on the titlebar would maximize it, which is not intended.
This commit solves all three problem by a doing our own double-click
detection, and only starting a drag when the pointer goes out of
'double-click range'. We change the way dragging is implemented for
menubars and toolbars to just letting events bubble up, so they
get the same behaviour as the titlebar. To make this work, we
have to select for pointer motion events in a few more places.
Matthias Clasen [Mon, 13 Jan 2014 01:12:31 +0000 (20:12 -0500)]
gtk-demo: Use primary-toolbar style in the application example
Adwaita correctly restricts window-dragging to primary toolbars,
Mark our toolbar as primary to test this.
Matthias Clasen [Sun, 12 Jan 2014 14:39:23 +0000 (09:39 -0500)]
Some struct repacking
Save a few bytes here and there.
Fran Diéguez [Mon, 13 Jan 2014 00:47:06 +0000 (01:47 +0100)]
Updated Galician translations
Andika Triwidada [Sun, 12 Jan 2014 12:56:49 +0000 (19:56 +0700)]
Changed obsolete FSF portal addresses to web address
Fixed https://bugzilla.gnome.org/show_bug.cgi?id=721530
Matthias Clasen [Sat, 11 Jan 2014 23:06:06 +0000 (18:06 -0500)]
gtk3-demo: avoid a resizing problem
Two changes that sneaked in during the GtkApplication port
made it so that the window would not let you shrink it again
after you've made it larger. This also yielded very surprising
results when unmaximizing the window: it would come back to
have a minimum width slightly larger than the screen, making
maximization fail from then on.
Tong Hui [Sat, 11 Jan 2014 02:26:28 +0000 (10:26 +0800)]
Update Chinese simplified translation
Jasper St. Pierre [Thu, 9 Jan 2014 19:44:34 +0000 (14:44 -0500)]
gtkwindow: Rename get_decoration_size => get_shadow_width
Ignacio Casal Quinteiro [Fri, 10 Jan 2014 14:19:05 +0000 (15:19 +0100)]
gtkapplication: add missing annotation for set_accels_for_action
Alexander Larsson [Fri, 10 Jan 2014 11:08:11 +0000 (12:08 +0100)]
README: Add note about gtk_text_view_add_child_in_window changes
Alexander Larsson [Wed, 8 Jan 2014 14:26:15 +0000 (15:26 +0100)]
GtkTextView: Fix scrolling of added children
The behaviour of gtk_text_view_add_child_in_window() used to be
quite broken. It scrolled with the window during scrolling, then
jumped to the absolute position when the widget resized. Furthermore,
in 3.10 we broke the first feature, making it always be fixed.
The "proper" way to handle this is to always follow scrolling. This
is what the only user so far (gedit) wants, and if you want some
kind of overlay you should use GtkOverlay instead.
So, this changes the behaviour to something that is internally consistent
and works. I.e. all added widgets scroll with the textview as needed.
https://bugzilla.gnome.org/show_bug.cgi?id=711826
Alexander Larsson [Wed, 8 Jan 2014 13:02:17 +0000 (14:02 +0100)]
testtextview: Add test for gtk_text_view_add_child_in_window
https://bugzilla.gnome.org/show_bug.cgi?id=711826
Milo Casagrande [Fri, 10 Jan 2014 08:08:12 +0000 (09:08 +0100)]
[l10n] Updated Italian translation.
Rico Tzschichholz [Thu, 9 Jan 2014 20:47:04 +0000 (21:47 +0100)]
x11: Add/Fix '(type *)' g-i annotations
Ryan Lortie [Wed, 8 Jan 2014 23:20:27 +0000 (18:20 -0500)]
Simplify GtkActionHelper
Now that the last GMenuModel-based user of GtkActionHelper is gone, we
can substantially simplify it.
https://bugzilla.gnome.org/show_bug.cgi?id=721836
William Hua [Wed, 8 Jan 2014 22:27:43 +0000 (17:27 -0500)]
Use GtkMenuTracker for Quartz backend.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
William Hua [Wed, 8 Jan 2014 15:58:56 +0000 (10:58 -0500)]
Move get_key_equivalent() to gdk quartz utils.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
Christian Kirbach [Wed, 8 Jan 2014 22:26:41 +0000 (23:26 +0100)]
Updated German translation
Ryan Lortie [Wed, 8 Jan 2014 19:31:16 +0000 (14:31 -0500)]
GtkMenuTracker: fix hidden-when='' vs. separators
Ensure that adding hidden-when='' to a menu item does not produce an
extra separator item as a side effect.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Sat, 4 Jan 2014 07:52:12 +0000 (02:52 -0500)]
bloatpad: test hidden-when=''
Cook up some silly cases to test out the hidden-when='' attribute.
- make sure hidden-when='action-missing' shows/hides items based on
actions being created and destroyed
- make sure hidden-when='action-disabled' shows/hides items based on
actions being enabled and disabled
- make sure hidden-when='action-missing' doesn't hide items when the
action is merely disabled
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Sat, 4 Jan 2014 07:28:39 +0000 (02:28 -0500)]
GtkMenuTracker: remove hidden items from the menu
Modify the tracker so that it manages the visibility of
GtkMenuTrackerItem by issuing insert and remove callbacks to the
user of the tracker.
This works by treating the GtkMenuTrackerItem as a virtual section which
contains 1 item when the item is visible and 0 items when it is hidden.
For efficiency reasons, we only employ this trick in the case that the
item has a hidden-when='' attribute set on it.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Sat, 4 Jan 2014 07:25:43 +0000 (02:25 -0500)]
GtkMenuTrackerItem: add an internal 'visible' flag
Add an internal API for checking if a GtkMenuTrackerItem is visible,
along with a signal for reporting changes in that flag. The item will
become invisible in situations according to the new hidden-when=''
attribute, which can be set to 'action-disabled' or 'action-missing'.
This new flag doesn't actually do anything yet, and none of the
consumers of GtkMenuTracker do anything with it (nor should they). A
followup patch will address the issue.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Sat, 4 Jan 2014 07:11:24 +0000 (02:11 -0500)]
GtkMenuTracker: rework action removal a bit
Refactor the code in the action observer remove function in order to
make way for the (efficient) handling of hiding of the item in the case
that hidden-when='' is given.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Sat, 4 Jan 2014 07:04:53 +0000 (02:04 -0500)]
GtkMenuTrackerItem: small logic tweak
Strictly speaking, can_activate should always be set back to FALSE when
the action disappears from the muxer (since we can't activate it
anymore) but we forgot to do that.
This 'bug' could never cause a problem because 'can_activate' is never
directly queried for anything at all and the item would get marked
insensitive anyway. As soon as the action was re-added, can_activate
would be recalculated based on the new action before anything else could
happen.
All the same, this should be cleared here.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ryan Lortie [Fri, 3 Jan 2014 21:13:01 +0000 (16:13 -0500)]
GtkMenuTracker: cache result of hash lookup
Remove a hash lookup from the separator sync logic (which is run every
time we change a menu). Instead, we do the lookup when creating the
section and cache the result.
This refactor will also help us in a future commit to add support for
hiding menu items based on missing actions.
https://bugzilla.gnome.org/show_bug.cgi?id=688421
Ignacio Casal Quinteiro [Wed, 8 Jan 2014 13:37:57 +0000 (14:37 +0100)]
colorbutton: fix crash when destroying the colorbutton from the color-set signal
Daniel Mustieles [Wed, 8 Jan 2014 11:44:09 +0000 (12:44 +0100)]
Updated Spanish translation
Alexander Larsson [Wed, 8 Jan 2014 09:44:32 +0000 (10:44 +0100)]
PixelCache: Ensure clean cairo_t state in draw
This adds save/restore calls to the clear-to-transparent call in
the pixel cache, to avoid changing the default color of the
cairo_t. It also removes a call set_operator call that is no longer
necessary (it was trying to manually restore the state).
https://bugzilla.gnome.org/show_bug.cgi?id=721480
Steve Langasek [Tue, 7 Jan 2014 12:55:28 +0000 (13:55 +0100)]
fix prototypes of signal callbacks in the test suite
The signal callbacks are defined to take pointers as their arguments, but the
callbacks found in testsuite/gtk/builder.c are passing a GParamSpec by value
as the second argument. This confuses and angers the compiler on ppc64el,
resulting in segfaults after return from the function due to stack-smashing
by the (completely-unused) argument.
https://bugzilla.gnome.org/show_bug.cgi?id=721700
William Hua [Wed, 8 Jan 2014 04:40:06 +0000 (23:40 -0500)]
Add icon menu to bloatpad.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
William Hua [Sun, 15 Dec 2013 02:41:49 +0000 (21:41 -0500)]
GtkIconInfo: add gtk_icon_info_is_symbolic()
https://bugzilla.gnome.org/show_bug.cgi?id=710351
Ryan Lortie [Mon, 16 Dec 2013 15:59:49 +0000 (10:59 -0500)]
gtkapplication-quartz: clean up inhibit code
When testing with bloatpad, the existing inhibit code seems not to be
working at all. Replace it with a cleaner and simpler version that
works.
https://bugzilla.gnome.org/show_bug.cgi?id=720551
Ryan Lortie [Wed, 8 Jan 2014 00:45:19 +0000 (19:45 -0500)]
app window: test actiongroup across destroy
Make sure that we don't violate the interface contract of GActionGroup
just because gtk_widget_destroy() was called.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
Ryan Lortie [Mon, 16 Dec 2013 17:25:54 +0000 (12:25 -0500)]
Fix GtkApplicationWindow action group implementation
GtkApplicationWindow frees its internal action group on dispose for the
usual reasons: to avoid the possibility of reference cycles caused by
actions referring back to the window again.
Unfortunately, if it happens to be inside of a GtkActionMuxer at the
time that it is disposed, it will (eventually) be removed from the muxer
after it has been disposed. Removing an action group from a muxer
involves a call to g_action_group_list_actions() which will crash
because the internal action group to which we normally delegate the call
has been freed.
A future patch that reworks the quartz menu code will introduce a use of
GtkActionMuxer in a way that causes exactly this problem.
We can guard against the problem in a number of ways.
First, we can avoid the entire situation by ensuring that we are removed
from the muxer before we destroy the action group. To this end, we
delay destruction of the action group until after the chain-up to the
dispose of GtkWindow (which is where the window is removed from the
GtkApplication).
Secondly, we can add checks to each of our GActionGroup and GActionMap
implementation functions to check that the internal action group is
still alive before we attempt to delegate to it.
We have to be careful, though: because our _list_actions() call will
suddenly be returning an empty list, people watching the group from
outside will have expected to see "action-removed" calls for the
now-missing items. Make sure we send those. but only if someone is
watching.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
Matthias Clasen [Wed, 8 Jan 2014 00:05:40 +0000 (19:05 -0500)]
Add a reftest for GtkActionBar child ordering
This shows that GtkActionBar and GtkBox treat pack-start/-end
the same.
Piotr Drąg [Tue, 7 Jan 2014 22:43:54 +0000 (23:43 +0100)]
Updated POTFILES.in
Matthias Clasen [Tue, 7 Jan 2014 21:16:52 +0000 (16:16 -0500)]
GtkActionBar: Just leave the center widget as NULL, initially
No need to construct a box that gets thrown away later.
Plus, this fixes the defaultvalue test for GtkActionBar.
Matthias Clasen [Tue, 7 Jan 2014 17:50:47 +0000 (12:50 -0500)]
Release-note the headerbar child order change
Matthias Clasen [Tue, 7 Jan 2014 17:44:34 +0000 (12:44 -0500)]
Make testsplitheaders more robust
Same empty string issue that I fixed in GtkHeaderBar a few days
ago.
Gabor Kelemen [Tue, 7 Jan 2014 17:58:13 +0000 (18:58 +0100)]
Updated Hungarian properties translation
Matthias Clasen [Tue, 7 Jan 2014 04:34:41 +0000 (23:34 -0500)]
Add an action bar test
https://bugzilla.gnome.org/show_bug.cgi?id=721665
Matthias Clasen [Tue, 7 Jan 2014 04:33:39 +0000 (23:33 -0500)]
Fix order of pack-end widgets
https://bugzilla.gnome.org/show_bug.cgi?id=721665
William Jon McCann [Mon, 6 Jan 2014 23:18:00 +0000 (18:18 -0500)]
widget-factory: add actionbar
https://bugzilla.gnome.org/show_bug.cgi?id=721665